package com.codemonkey.lq.qd.facotry.config;

import org.apache.ibatis.session.SqlSessionFactory;

import com.codemonkey.lq.qd.ServiceContext;

/**
 * 用于选择MyBatis中的SqlSessionFactory.
 * 作用: 第三方通过实现它来进行支持多数据源.
 * 建议在ServiceContext中实现,这样就可以尽量减少分布式事务的使用.因为我们可以使用一个SqlSession中进行针对本数据库的所有的CRUD操作.
 *
 */
public interface SqlSessionFactorySelecter {
	SqlSessionFactory getSqlSessionFactory(final ServiceContext sContext,
			final ServiceDefinition sd, final ActionDefinition ad);
}
